(bsp? (string-match-p srgxp b))
(prrgxp "^\\(M\\|C\\|S\\|A\\|H\\|s\\)-")
(apr? (string-match-p prrgxp a))
- (bpr? (string-match-p prrgxp b)))
+ (bpr? (string-match-p prrgxp b))
+ (afn? (string-match-p "<f[0-9]+>" a))
+ (bfn? (string-match-p "<f[0-9]+>" b)))
(cond ((or aem? bem?) (and aem? (not bem?)))
((and asp? bsp?)
(if (string-equal (substring a 0 3) (substring b 0 3))
- (which-key--key-description< (substring a 3) (substring b 3))
+ (which-key--key-description-alpha< (substring a 3) (substring b 3))
(string-lessp a b)))
((or asp? bsp?) asp?)
((and a1? b1?) (which-key--alpha< a b))
((or a1? b1?) a1?)
+ ((and afn? bfn?)
+ (< (string-to-number (replace-regexp-in-string "<f\\([0-9]+\\)>" "\\1" a))
+ (string-to-number (replace-regexp-in-string "<f\\([0-9]+\\)>" "\\1" b))))
((and apr? bpr?)
(if (string-equal (substring a 0 2) (substring b 0 2))
- (which-key--key-description< (substring a 2) (substring b 2))
+ (which-key--key-description-alpha< (substring a 2) (substring b 2))
(string-lessp a b)))
((or apr? bpr?) apr?)
(t (string-lessp a b)))))
(bsp? (string-match-p srgxp b))
(prrgxp "^\\(M\\|C\\|S\\|A\\|H\\|s\\)-")
(apr? (string-match-p prrgxp a))
- (bpr? (string-match-p prrgxp b)))
+ (bpr? (string-match-p prrgxp b))
+ (afn? (string-match-p "<f[0-9]+>" a))
+ (bfn? (string-match-p "<f[0-9]+>" b)))
(cond ((or aem? bem?) (and aem? (not bem?)))
((and asp? bsp?)
(if (string-equal (substring a 0 3) (substring b 0 3))
((or asp? bsp?) asp?)
((and a1? b1?) (string-lessp a b))
((or a1? b1?) a1?)
+ ((and afn? bfn?)
+ (< (string-to-number (replace-regexp-in-string "<f\\([0-9]+\\)>" "\\1" a))
+ (string-to-number (replace-regexp-in-string "<f\\([0-9]+\\)>" "\\1" b))))
((and apr? bpr?)
(if (string-equal (substring a 0 2) (substring b 0 2))
(which-key--key-description< (substring a 2) (substring b 2))